Лабораторная работа №3

Модель боевых действий Ланчестера

Ким М. А.

Российский университет дружбы народов, Москва, Россия

25 февраля 2023

Информация

Докладчик

Вводная часть

Актуальность

  • Необходимость навыков моделирования реальных математических задач, построение графиков.

Объект и предмет исследования

  • Язык программирования Julia
  • Язык моделирования Modelica
  • Модель Ланчестера

Цели и задачи

  • Начать знакомство с интерактивным блокнотом Pluto.jl.
  • Продолжить знакомство с функционалом языков Julia и OpenModelica.
  • Создать математическую модель боевых действий Ланчестера с помощью данных языков.

Материалы и методы

  • Языки:
    • Julia
    • Modelica

Процесс выполнения работы

Подготовка системы для работы

Установка интерактивного блокнота Pluto.jl

Формулировка задания

Формулировка задания 1

Между страной Х и страной У идет война. Численность состава войск исчисляется от начала войны, и являются временными функциями x(t) и y(t). В начальный момент времени страна Х имеет армию численностью 10000 человек, а в распоряжении страны У армия численностью в 29000 человек. Для упрощения модели считаем, что коэффициенты abch постоянны. Также считаем P(t) и Q(t) непрерывные функции.

Формулировка задания 2

Постройте графики изменения численности войск армии Х и армии У для следующих случаев:

  1. Модель боевых действий между регулярными войсками

$$ \left\{ \begin{array}{c} \frac{dx}{dt} = -0.333x(t) - 0.77y(t) + 1.6\sin(t)\\ \\ \frac{dy}{dt} = -0.5x(t) - 0.65y(t) + 1.7\cos(t + 2) \end{array} \right. $$

Формулировка задания 3

  1. Модель ведение боевых действий с участием регулярных войск и партизанских отрядов

$$ \left\{ \begin{array}{c} \frac{dx}{dt} = -0.343x(t) - 0.815y(t) + \sin(2t) + 1\\ \\ \frac{dy}{dt} = -0.227x(t)y(t) - 0.815y(t) + \cos(10t) + 1 \end{array} \right. $$

Написание программ

Код на Pluto.jl первой модели (1)

Код на Pluto.jl первой модели (2)

Код на Pluto.jl второй модели (изменения)

Код на Julia первой модели и результат выполнения

Код на Julia второй модели (изменения) и результат выполнения

Код на Modelica первой модели и результат выполнения (1)

Результат выполнения (2)

Код на Modelica второй модели и результат выполнения (1)

Результат выполнения (2)

Результаты

  • Написаны программы на языках Julia и Modelica, описывающих модель боевых действий Ланчестера.
  • Построены графики изменения численности армий в соответствии с поставленными задачами.

Вывод

Начал знакомство с интерактивным блокнотом Pluto.jl. Продолжил знакомство с функционалом языка программирования Julia и языка моделирования Modelica. Используя эти средства, построил математическую модель, представляющую собой модель боевых действий Ланчестера.